;(function($){
    //阻止按钮的默认事件
    $(".margin .regBtn").click(function(event){
        event.preventDefault();
    });
    let statuReg = "false";
    //验证用户名是否合法
    function regUserName(){
        let timerUser = null;
        $(".report-wrap-module .userName").on("blur", ()=>{
            //关闭定时器
            clearInterval(timerUser);
            //验证昵称是否为空
            if($(".report-wrap-module .userName").val() === ""){
                $(".report-wrap-module .user-name-error").html("请告诉我你的昵称吧");
                statuReg = "false";
            }
        })
        $(".report-wrap-module .userName").on("focus", ()=>{
            timerUser = setInterval(() => {
                if($(".report-wrap-module .userName").val() != ""){
                    //验证用户名长度是否符合规则(3~16字符)
                    if($(".report-wrap-module .userName").val().length < 3){
                        $(".report-wrap-module .user-name-error").html("你的用户名过短，不允许注册！");
                        statuReg = "false";
                    }else if($(".report-wrap-module .userName").val().length > 16){
                        $(".report-wrap-module .user-name-error").html("用户名过长");
                        statuReg = "false";
                    }else{
                        console.log("合法性")
                        $(".report-wrap-module .user-name-error").html("");
                         //验证用户名中是否含有特殊字符（只含有汉字、数字、字母、下划线，下划线位置不限）
                        let userReg = /^[a-zA-Z0-9_u4e00-u9fa5]+$/;
                        if(!userReg.test($(".report-wrap-module .userName").val())){
                            $(".report-wrap-module .user-name-error").html("用户名为系统禁止的标识！");
                            statuReg = "false";
                        }else{
                            $(".report-wrap-module .user-name-error").html("");
                            statuReg = "true";
                        }
                    }    
                }
            }, 500);
        })
    } 

    //验证用户名是否重复
    function sameName(){
        let username = $(".report-wrap-module .userName").val();
        xhrPost("http://10.9.65.240/mine/bilibili/src/server/register.php",{
            username
        })
        .then((res)=>{
            res = JSON.parse(res);
            console.log(res)
            if(res.stateCode == 1){
                $(".report-wrap-module .user-name-error").html("");
                statuReg = "true";
            }else{
                $(".report-wrap-module .user-name-error").html(`${res.errorType}`);
                statuReg = "false";
            }
        })
    }

    //验证密码
    function regPassword(){
        //获取焦点时先查看上一个是否为空
        $(".el-input input").on("focus", ()=>{
            if($(".report-wrap-module .userName").val() === ""){
                $(".report-wrap-module .user-name-error").html("请告诉我你的昵称吧");
                statuReg = "false";
            }
        })
        //验证密码是否为空
        let timerPass = null;
        $(".el-input input").on("blur", ()=>{
            //关闭定时器
            clearInterval(timerPass);
            //验证昵称是否为空
            if($(".el-input .password").val() === ""){
                $(".report-wrap-module .password-error").html("密码不能小于6个字符");
                statuReg = "false";
            } 
        })

        //验证用户名长度是否符合规则(6~16位)
        $(".el-input input").on("focus", ()=>{
            timerPass = setInterval(() => {
                if($(".el-input .password").val().length < 6){
                    $(".report-wrap-module .password-error").html("密码不能小于6个字符");
                    statuReg = "false";
                }else if($(".el-input .password").val().length > 16){
                    $(".report-wrap-module .password-error").html("密码不能大于16个字符");
                    statuReg = "false";
                }else{
                    $(".report-wrap-module .password-error").html("");
                    statuReg = "true"; 
                }
            }, 500);
        })

        //验证再次输入密码是否一致
        $(".rePasswordContainer input").on("blur", ()=>{
            if($(".el-input .password").val() === $(".rePasswordContainer .repassword").val()){
                $(".report-wrap-module .rePassword-error").html("");
                statuReg = "true"; 
            }else{
                $(".report-wrap-module .rePassword-error").html("两次密码输入不一致");
                statuReg = "true"; 
            }
        })
    }

    //验证手机号是否合法
    function regPhone(){
        //获得焦点时查看上一个是否为空
        $(".phone-container input").on("blur", ()=>{
            if($(".el-input .password").val() === ""){
                $(".report-wrap-module .password-error").html("密码不能小于6个字符");
                statuReg = "false";
            }
        })
        $(".phone-container input").on("blur", ()=>{
            //验证手机号是否合法
            let phoneReg = /^1[34578]\d{9}$/;
            if(phoneReg.test($(".phone-container input").val())){
                $(".phone-error").html("");
                statuReg = "true";
            }else{
                $(".phone-error").html("请输入正确的手机号");
                statuReg = "false";
            }
        })
    }

    //调用   
    regUserName();
    $(".report-wrap-module .userName").on("blur", ()=>{
        if(statuReg === "true"){
            sameName();
            setTimeout(() => {
                console.log("lalal" + statuReg);
            }, 500); 
        }
    })
    regPassword();
    regPhone();

    //同意协议时注册按钮才可用
    $(".register-agree .check-box input").on("click", ()=>{
        $(".margin .regBtn").toggleClass("active");
        let classStr = $(".margin .regBtn").attr("class");
        if(classStr.indexOf("active") === -1){
            $(".margin .regBtn").attr("disabled", "disabled");
        }else{
            $(".margin .regBtn").removeAttr("disabled");
        }
    })

    //点击注册按钮后添加至数据库
    $(".margin .regBtn").on("click", ()=>{
        if(statuReg === "true"){
            let username = $(".report-wrap-module .userName").val();
            let password = $(".el-input .password").val();
            let tel = $(".phone-container input").val();
            xhrPost("http://10.9.65.240/mine/bilibili/src/server/register.php",{
                username,
                password,
                tel
            })
            .then((res)=>{
                res = JSON.parse(res);
                if(res.stateCode == 1){
                    alert("注册成功,点击确定后跳转至登录页面");
                    cookie("tocken",username);
                    $(location).prop('href', 'login.html');
                }else{
                    alert(res.errorType);
                }
            })
        }  
    })
})(jQuery)